<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
    <div id="root">
        姓：<input type="text" v-model="firstName"><br><br>
        名：<input type="text" v-model="lastName"><br><br>
        全名：<span>{{fullName}}</span>
    </div>


    <script type="text/javascript">
         Vue.config.productionTip = false;//阻止vue在启动的时候生成生产提示

         const a = new Vue({
            el:"#root",
            data:{
                firstName:"张",
                lastName:"三",
            },
            //通过已有的属性通过加工形成全新的属性：
            computed:{
                fullName:{
                    //当有人读取fullName时，get会被调用，其返回值就作为fullName的值
                    //get何时被调用？1、初次读取fullName时； 2、fullName所依赖的数据变化时
                    get(){
                        return this.firstName.slice(0,3) + '--' + this.lastName;
                    },
                    //set何时被调用？ fullName的值被改变时
                    set(value){
                        console.log('set调用了',value);
                        const arr = value.split('--');//用--分隔开
                        //set中要引起计算时依赖的数据发生变化
                        this.firstName = arr[0];
                        this.lastName = arr[1];
                    }
                }
            }
         })

    </script>
</body>
</html>